排列组合算法那些事 Web开发 前端开发 前言是有些时间没有真正跟算法打交道了,除了学习理论的过程,在实践中能用到算法的地方确实少,但这个要考,本着在哪里跌倒就在哪里躺下然后再爬起来的原则,我们来看看这里面相关的问题。 参考书籍 《组合数学 第五版》 相关代码: js代码 python代码 组合对于任意的集合A 比如[1,2,3,4,5,6] 和集合B比如['A','B',...
页面排版布局印刷相关概念实践理解 基础概念点(Dot,Point)Dot 从英语词源的角度,这是早期的词,更侧重具体的事物 常用于具体的事物(如打印机)及相关物件(比如打印物,印刷稿等)的描述单位 比如用 DPI (Dot Per Inch)每英寸点数来表示打印机或者实体设备的工艺水平或者印刷质量。 可以是打印机给打印物喷的墨点,可以是扫描仪采样的点位,可以是图像像素的小方格(块),也可以是屏幕的显...
前后端PDF报表导出最佳实践 缘起2017年那会,探索过一些关于Web自动化的内容,当时 Headless Chrome还只是一个不能用于生产的一个玩具,现在早已经完全可以生产应用了。 相关问题回到PDF报表的主题,当我们讨论这个话题的时候,不可避免地要回答几个问题: 如果是后端来做报表排版,是不是鸭梨有点大,还原度美观度是不是能不打折? 如果前端提供模板后端来填数据渲染生成,这个过程是不是需要来回...
Chrome数组排序那些事 前言v8源码 可以在github上面直接下,早期的ArraySort 是用JS来实现的,整合了插入排序和快速排序两种算法,在10以下就用插入,以上就用快排。后来更换了算法和实现方式,到目前为止(20211125) 最新的数组排序还是 使用的TimSort这个算法,看起来是从Python那学来的。 详情可以参考这里,也有一些过程内容可以译文 或者 原版V8开发博客 解决的...
TypeScript简明参考指南 类型系统相关界定/定义类型定义 类型别名的声明(type alias) 接口声明(interface) 类声明(class) 枚举声明(emum) 指向类型的导入声明(import ) 值的定义 变量声明(let,const,var 声明) 包含值的名称空间或者模块的声明(namespace,module) 枚举声明(emun) 类声明(class) 指向值的导入声明(...
前端组件化那些事 组件化的发展过程基于命名空间的多入口文件组件 jquery插件,一个js 一个css 基于模块的多入口文件组件 amd js,css 单JavaScript入口组件WebComponent 自定义元素 HTML模板 Shadow DOM HTML import lit from polymer React 组件化组件实现方式 React.createClass ES...
前端三剑客JavaScript、CSS、HTML模块化那些事 JavaScript模块化JavasScript模块发展历史在ES2015(ES6 )之前,ECMAScript(俗称JavaScript)没有标准的模块,从最初对JavaScript的设计预期来说,也不是要做多少事情的,比如就做做表单校验以解决当时网速超级慢的情况下客户端与服务端交互等待时间太长的问题,谁知道后来Web技术的发展让JavaScript肩上的责任越来越重大...
JavaScript模块标准化那些事 CommonJS参考wiki这里说标准也不那么恰当,但在Node.js环境中,比起前面的各种MD来说,又更近了一步,更加统一,以至于体验上会更加规范,但还不是规范,至少可以做到只要是Node,都遵守一致的模块定义,所有使用者也能达成共识。 规范说明(从当前最新Node.js 17.x官方文档而来) 每个单文件被当做一个模块 函数和对象都添加到模块对象的特殊属性 expo...
chrome浏览器下音视频autoplay的情况记录 Web开发 前端开发 常见的几个错误在chromium源码中列出来了 12345678const char kWarningUnmuteFailed[] = "Unmuting failed and the element was paused instead because the user " "didn't interact with ...
前端异步那些事 ECMAScript 标准中的异步回调函数这是函数作为一等公民或者一类对象带来的特性,函数可以像对象一样独立使用,可以作为参数和返回值等等。 常见的浏览器的DOM事件,NodeJS中的文件读写等等,都会在回调函数中有一个关键的第一个参数来保留现场和传递流程,比如Event对象,err对象等等。 Promise通过返回Promise对象来实现链式调用,通过链式调用的方式来...